#include <string.h>

enum Result
{
	EXIST,
	FAIL,
	SUCCESS,
	INTERRUPT,
};

struct HashNode 
{
	struct HashNode *next;
	struct HashNode *previous;
	int HashValue;
	int InternalHashValue;
	char* name;
};

typedef HashNode hNode;

class HashTable
{
public:
	HashTable()
	{
		memset(table,0,1024*sizeof(hNode));
	}
	Result Insert(char *functionName);
	void IsExist(char *functionName);
	int Hash(char *functionName);
	int InternalHash(char *functionName);
	bool HashStringCompare(char *firstString,char *secondString);
	void HashDump();

	Result FileDump();
	Result FileRead();

private:
	hNode table[1024];
};